package com.hjf.arraylist;

import java.util.ArrayList;

public class ArrayListDemo2 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("拖鞋");
        list.add("枸杞");
        list.add("拖把");
        list.add("黑枸杞");
        list.add("宁夏枸杞");
        list.add("洗衣液");
        list.add("洗洁精");

//        for (int i = 0; i < list.size(); i++) {
//            String ele = list.get(i);
//            if(ele.contains("枸杞")){
//                list.remove(i);
//            }
//        }
//        System.out.print(list);//[拖鞋, 拖把, 宁夏枸杞, 洗衣液, 洗洁精]会删不干净因为删除后元素会向前移动，i++，会导致一些元素被错过。


//        for (int i = 0; i < list.size(); i++) {//解决方法1，加入i--
//            String ele = list.get(i);
//            if(ele.contains("枸杞")){
//                list.remove(i);
//                i--;
//            }
//        }
//        System.out.print(list);//[拖鞋, 拖把, 宁夏枸杞, 洗衣液, 洗洁精]会删不干净因为删除后元素会向前移动，i++，会导致一些元素被错过。

        //解决方法二，倒着遍历并删除
        for (int i = list.size()-1; i > 0 ; i--) {
            String ele = list.get(i);
            if(ele.contains("枸杞")){
                list.remove(i);
            }
        }
        System.out.print(list);
    }
}
